On-line computerized form records systems have automated traditional hardcopy systems in that forms are filled in, sent, received, and processed on-line. A very important feature of on-line forms systems is keeping track of the individual forms. Typically, a unique identifier is generated for each form and access and tracking is performed using that unique identifier. All forms are stored in a central database and retrieved from the database upon request by a user, changes made, and an updated copy is sent back to the database.
With a central database, when a user changes a form, two operations can happen: (1) the changed form overwrites the original form and takes the same unique identifier, or (2) the changed form is saved as a new form with a new unique identifier. Either of these operations is less than ideal. Overwriting only saves the most current version of the form. If the forms for example represent a series of ongoing transactions, saving previous versions of the form is important. Creating a new form for every change solves the first issue, but presents a new one as well. As the number of users and forms increases, the system can be tremendously overloaded and processing becomes very slow. In addition, there is no way to identify or group different (past or future) versions of the same form.
Form tracking is also important at an individual user level. Each user needs to easily reference and process his or her own forms, rather than having to work through all forms belonging to all users.
In addition to the problems presented, current on-line form records processing systems are ill-suited to a distributed environment such as a client-server architecture. In such an arrangement, a client has local storage and processing resources that are separate from a server, which has more centralized storage and processing. Several clients can be associated with a server, and several lower level servers can be associated with a higher level server, for example. In this manner a multiple-level hierarchical system can be configured, with users at any level sending or receiving forms. Normally, however, forms are sent from lower levels (submitters) to higher levels (receivers or collectors). Note that the term "user" can mean an end user that uses a client or server workstation, or the "user" can be the workstation itself, depending on the degree of automation in the system. Users can originate, send, receive, and process form records. With such capabilities spread across a distributed system (like client-server), it is easily understood that an on-line forms system can have an overabundance of form records.
Thus, there remains a need for a system where on-line form records can be stored and accessed separately from a central database, and where different version of the same form are stored concurrently and are easily identified as belonging to an individual user.